package  org.com.blbl.highQualityUp;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

// KEYIN：读取文件的当前数据的行号
// VALUEIN：读取文件的当前数据
// KEYOUT ：Mapper或Reducer的输出键的类型（进行数据的分组和排序）
// VALUEOUT：Mapper或Reducer的输出值的类型（对相同键的多个值进行合并、聚合等操作）
public class HighQualityUpMapper extends Mapper<Object, Text, Text, Text> {
    @Override
    protected void map(Object key, Text value, Context context) throws IOException, InterruptedException {
        //读取一行数据，按 "," 进行切割
        String[] fields = value.toString().split(",");
        if (fields.length > 16) { // 确保有足够的字段
            String up = fields[9]; // up主
            int weeklyCount = Integer.parseInt(fields[6]); // 每周必看期数
            context.write(new Text(up), new Text(String.valueOf(weeklyCount))); // 输出up主和每周必看期数
        }
    }
}
